The present invention relates to the field of computer-aided engineering. More specifically, the present invention relates to a system for controlling libraries for diverse computer-aided engineering applications.
Product development is greatly facilitated by the use of computer-aided engineering (CAE). For a given product, many separate CAE applications may facilitate passage from the original concept to the finished item. For example, to produce an electronic circuit board, CAE applications may be used to facilitate the original concept implementation (circuit design), the operational performance (simulation), the power consumption (power analysis), the power dissipation (thermal analysis), the logical layout (schematic development), the physical layout (routing), and the circuit board production (numerical control drilling, parts stuffing, etc.). Typical CAE applications in the computer and electronics industries are tabulated in Table 1 below.
While the example and Table 1 demonstrated hereinabove refer to the computer and electronics industries, those skilled in the art will appreciate that other industries, e.g., automotive, architectural/construction, etc., have their own CAE applications and requirements.
Each CAE application includes primarily an application program and a library containing the requisite data. Because of the proliferation of CAE applications and their suppliers, there is no standard format for these CAE data libraries. In effect, every application utilizes a data library in a proprietary or xe2x80x9cnativexe2x80x9d format.
A problem exists because of this proliferation of library formats. It is difficult for organizations using multiple CAE applications to manage their libraries. Indeed, in terms of investment and man-hours, engineering companies often expend as much upon library creation and management as they do on actual design. This is a highly inefficient use of resources.
Another problem exists because of this proliferation of library formats, since a typical CAE application library is dedicated solely to a specific CAE application program, i.e., contains data in a format native to that application program, the coordination of components across multiple applications for the engineering of a specific product is difficult, time-consuming, and costly.
Also, a typical CAE application library instantiates all the components recognizable by that application. For a given product, only a subset of these components are required to be instantiated. A problem exists, therefore, in that the CAE application uses its entire library in the engineering of each and every product, without regard to the components actually required of that product. Because of this, the application spends an undesirably long amount of time searching the entire library for each component of the product. Since a library may instantiate tens of thousands of components, this search time may pose a significant problem to the engineer.
A typical CAE application library is not expandable, short of replacement. That is, all associations and links within the library are fixed, and each instantiated component is limited to those links. This poses a problem whenever a need arises to link a given component in a different manner.
Additionally, the direct use of CAE applications are only some of the engineering services utilized in product design. Ancillary services, such as shipping and receiving, inventory control, document management, cost management, billing, etc., also require data to perform efficiently. At present, there is no economical or efficient manner in which these business-level engineering services may garner this data from the CAE application libraries or engineering services can take advantage of business data.
Many theoretical schemata have been developed to circumvent or correct the above and other CAE problems. Unfortunately, many such schemata require the use of data not available when needed. This data may, for example, be the physical shape of a component. If the engineer is at that time using a logical design CAE application, shape data is simply not available. Other schemata, recognizing that various CAE applications each use a subset of the characteristics or attributes of a given component, require that humans unerringly perform some bookkeeping task to provide cross-application information. Such a schema requires that the people involved create and maintain a xe2x80x9chard-copyxe2x80x9d database for each product, where any error or omission may effectively nullify the entire database. Using conventional techniques, excessive costs are involved in ensuring the requisite accuracy.
What is needed, therefore, is a practical method of managing the libraries of a large number of CAE applications in a simple an coordinated manner. Such a method would significantly increase the efficiency and lower the cost of library management and associated engineering services.
What is also needed is a practical method of cross-referencing and organizing multiple CAE application libraries to permit the extraction of data on any given component from any library or combination of libraries. This method should be easily maintainable, be accessible by any person in the entirety of the product engineering process, and facilitate the operation of each individual engineering service.
What is also needed is a practical method of extracting from a xe2x80x9cparentxe2x80x9d CAE application library, which may instantiate tens of thousands of components, a product-specific CAE application library limited to instantiating only those components utilized by the specific product. In this manner, much extraneous data and searching time is eliminated, significantly improving the efficiency of the CAE applications involved.
What is also needed is a practical method of cross-linking the data in each CAE application library to the data in all other libraries. This should be accomplished without interfering with the format or the integrity of any library.
What is also needed is a practical method of expanding data on any given component. This expanded data should be linkable in a manner different than the parent data, but should not interfere with or compromise the integrity of the original data.
What is also needed is a practical method of extracting data from any combination of CAE application libraries for use by a wide variety of engineering services. This would allow these services to be performed in an efficient and cost-effective manner.
What is needed is a practical system capable of fulfilling the above needed methods in any of a combination of manners usable by the engineers and others involved in the engineering of a product.
Accordingly, it is an advantage of the present invention that an engineering services coordinating system and method therefor is provided.
It is another advantage of the present invention that a hyperdatabase is provided that manages a large number of independent CAE application libraries.
It is another advantage of the present invention that a program database is provided in a hyperdatabase for each CAE application program wherein each program database encompasses a CAE application library associated with that CAE application program.
It is another advantage of the present invention that a data extraction routine is provided that extracts from a program database associated with a given CAE application program a CAE product library comprising a product-specific subset of a CAE application library for that CAE application program.
It is another advantage of the present invention that a link table is provided that cross-links components instantiated by one CAE application library with like components instantiated by other CAE application libraries.
It is another advantage of the present invention that a method is provided to expand a CAE application library associated with a given CAE application program without altering the integrity of that library.
It is another advantage of the present invention that a method is provided for the extraction of data from any combination of CAE application libraries.
It is another advantage of the present invention that efficient engineering results from reliance upon a hyperdatabase that manages a large number of independent CAE application libraries.
The above and other advantages of the present invention are carried out in one form by a method for coordinating engineering services. These services are provided using a plurality of computer-aided engineering (CAE) application programs, each of which programs has one of a plurality of CAE application libraries, each of which libraries contains a plurality of CAE application records, and each of which records instantiates one of a plurality of components. The method creates a hyperdatabase. The method also constructs, within the hyperdatabase, a link table having a plurality of link records. The method also generates, within the hyperdatabase, a program database associated with one of the CAE application programs. The method also populates the program database with a plurality of component datasets, wherein each of the component datasets instantiates one of the components. The method also generates, within the link table, a link between one of the component datasets instantiating one of the components in one of the program databases and others of the component datasets instantiating the one component in another of the program databases. The method also repeats the database-generating, the database-populating, and the link-generating operations for others of the CAE application libraries. The method also engineers a product utilizing data contained in selected ones of the component datasets, the product-engineering operation being coordinated through the links in the hyperdatabase.
The above and other advantages of the present invention are carried out in another form by a system for coordinating engineering services provided using a plurality of computer-aided engineering (CAE) application programs, each of which programs has one of a plurality of CAE application libraries, each of which libraries contains a plurality of CAE application records, and each which records instantiates one of a plurality of components. The system comprises three segments of a computer-readable medium, wherein the first segment is configured as a hyperdatabase, the second segment is configured as a data input routine for incorporating the CAE application libraries into the hyperdatabase, and the third segment is configured as a data extraction routine that extracts CAE product libraries from the hyperdatabase, wherein each CAE product library is configured for use with one CAE application program. The system also comprises an engineering instrument, responsive to one CAE product library, for engineering a product.